home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
SoundComponents.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
5KB
|
156 lines
/*
File: SoundComponents.idl
Contains: Sound Components Interfaces.
Version: Technology: System 7.5
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __SOUNDCOMPONENTS_IDL__
#define __SOUNDCOMPONENTS_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __COMPONENTS_IDL__
#include <Components.idl>
#endif
#ifndef __SOUND_IDL__
#include <Sound.idl>
#endif
#ifdef __SOMIDL__
/*
* * * N O T E * * *
This file has been updated to include Sound Manager 3.1 interfaces.
Some of the Sound Manager 3.0 interfaces were not put into the InterfaceLib
that originally shipped with the PowerMacs. These missing functions and the
new 3.1 interfaces have been released in the SoundLib library for PowerPC
developers to link with. The runtime library for these functions are
installed by Sound Manager 3.1. The following functions are found in SoundLib.
AudioGetBass, AudioGetInfo, AudioGetMute, AudioGetOutputDevice,
AudioGetTreble, AudioGetVolume, AudioMuteOnEvent, AudioSetBass,
AudioSetMute, AudioSetToDefaults, AudioSetTreble, AudioSetVolume,
OpenMixerSoundComponent, CloseMixerSoundComponent, SoundComponentAddSource,
SoundComponentGetInfo, SoundComponentGetSource, SoundComponentGetSourceData,
SoundComponentInitOutputDevice, SoundComponentPauseSource,
SoundComponentPlaySourceBuffer, SoundComponentRemoveSource,
SoundComponentSetInfo, SoundComponentSetOutput, SoundComponentSetSource,
SoundComponentStartSource, SoundComponentStopSource
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
constants
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound component types and subtypes
*/
/*sound component set/get info selectors*/
/*features flags*/
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
/*SoundComponentPlaySourceBuffer action flags*/
/*flags for OpenMixerSoundComponent*/
/*SoundParamBlock quality flags*/
/*useful bit masks*/
/*Audio Component constants*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typedefs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
/*
ShortFixed consists of an 8 bit, 2's complement integer part in the high byte,
with an 8 bit fractional part in the low byte; its range is -128 to 127.99609375
*/
typedef short ShortFixed;
typedef OpaquePtr SoundParamBlockPtr; /* Substituted OpaquePtr for ``SoundParamBlock*'' */
typedef OpaquePtr SoundParamProcPtr;
typedef OpaquePtr SoundParamUPP;
typedef SOMLargeStruct SoundParamBlock; /* Derived from a struct of 62 bytes in size */
/*private thing to reference a Sound Source*/
typedef OpaquePtr SoundSource;
typedef OpaquePtr SoundSourcePtr; /* Substituted OpaquePtr for ``SoundSource*'' */
typedef SOMLargeStruct SoundComponentLink; /* Derived from a struct of 28 bytes in size */
typedef OpaquePtr SoundComponentLinkPtr; /* Substituted OpaquePtr for ``SoundComponentLink*'' */
typedef SOMLargeStruct AudioInfo; /* Derived from a struct of 10 bytes in size */
typedef OpaquePtr AudioInfoPtr; /* Substituted OpaquePtr for ``AudioInfo*'' */
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
functions for sound components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sound Component dispatch selectors
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sound Manager 3.0 utilities
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
basic sound component functions
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
junction methods for the mixer, must be called at non-interrupt level
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
info methods
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
control methods
*/
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
interface for Audio Components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
/*
Volume is described as a value between 0 and 1, with 0 indicating minimum
volume and 1 indicating maximum volume; if the device doesn't support
software control of volume, then a value of unimpErr is returned, indicating
that these functions are not supported by the device
*/
/*
If the device doesn't support software control of mute, then a value of unimpErr is
returned, indicating that these functions are not supported by the device.
*/
/*
AudioSetToDefaults causes the associated device to reset its volume and mute values
(and perhaps other characteristics, e.g. attenuation) to "factory default" settings
*/
/*This routine is required; it must be implemented by all audio components*/
/*This is routine is private to the AudioVision component. It enables the watching of the mute key.*/
#endif
#endif /* __SOMIDL__ */
#endif /* __SOUNDCOMPONENTS_IDL__ */